SysAdmin: Xem file Log Linux từ dòng lệnh trong VPS
Trong vai trò của một SysAdmin, việc xem file log trên hệ thống Linux không chỉ là một nhiệm vụ hàng ngày mà còn là một phần quan trọng của quá trình khắc phục sự cố và duy trì hệ thống. Trong bài viết này, chúng ta sẽ khám phá cách thức SysAdmin có thể xem file log trực tiếp từ dòng lệnh trên VPS, mang lại cho họ khả năng theo dõi và đánh giá hiệu suất của hệ thống một cách hiệu quả.
File Log trong Linux là gì?
File log là một tập tin chứa thông tin ghi lại về các sự kiện và hoạt động đã xảy ra trong hệ thống hoặc ứng dụng. Những thông tin này thường bao gồm các lỗi, cảnh báo, sự kiện quan trọng, hay thậm chí là các hoạt động thông thường. File log giúp người quản trị hệ thống hoặc phần mềm theo dõi, đánh giá hiệu suất, và phân tích vấn đề để duy trì và cải thiện tính ổn định của hệ thống.
Khi nào cần kiểm tra file Log Linux?
Ở một số điểm trong sự nghiệp làm quản trị Linux của bạn, bạn sẽ phải xem các tệp log. Cuối cùng, chúng ở đó với một lý do rất quan trọng... để giúp bạn khắc phục sự cố. Trong thực tế, mọi quản trị viên có kinh nghiệm đều sẽ nói ngay với bạn rằng điều đầu tiên cần làm, khi phát sinh vấn đề, là xem Log trong Linux.
Và có nhiều log có sẵn: log cho hệ thống, log cho kernel, cho trình quản lý gói, cho Xorg, cho quá trình khởi động, cho Apache, cho MySQL... Đối với gần như mọi thứ bạn có thể nghĩ đến, đều có một tệp log.
Hầu hết các tệp log có thể được tìm thấy tại một vị trí thuận tiện: /var/log. Đây là tất cả các log hệ thống và dịch vụ, những cái mà bạn sẽ phải dựa vào mạnh mẽ khi có vấn đề với hệ điều hành hoặc một trong những dịch vụ quan trọng. Đối với các vấn đề cụ thể của ứng dụng trên máy tính cá nhân, các tệp log sẽ được ghi vào các vị trí khác nhau (ví dụ, Thunderbird ghi báo cáo sự cố vào '~/.thunderbird/Crash Reports'). Nơi mà một ứng dụng trên máy tính cá nhân sẽ ghi log sẽ phụ thuộc vào nhà phát triển và xem xét cấu hình log tùy chỉnh của ứng dụng.
Chúng tôi sẽ tập trung vào log hệ thống, vì đó là nơi trái tim của việc khắc phục sự cố Linux đặt. Và vấn đề chính ở đây là, làm thế nào bạn có thể xem những tệp log đó?
May mắn thay, có nhiều cách bạn có thể xem tệp log hệ thống của mình, tất cả đều có thể được thực hiện một cách đơn giản từ dòng lệnh.
Xem file log linux: /var/log
Đây là một thư mục quan trọng trên hệ thống Linux của bạn. Hãy mở một cửa sổ terminal và nhập lệnh cd /var/log. Sau đó, nhập lệnh ls và bạn sẽ thấy các tệp log nằm trong thư mục này (Hình 1).
Bây giờ, hãy nhìn vào một trong những tệp log đó.
Xem Log Linux với less
Một trong những tệp log quan trọng nhất nằm trong /var/log là syslog. Tệp log này ghi lại mọi thứ ngoại trừ các thông báo liên quan đến xác thực. Giả sử bạn muốn xem nội dung của tệp log cụ thể đó. Để làm điều đó, bạn có thể nhanh chóng nhập lệnh less /var/log/syslog. Lệnh này sẽ mở tệp log syslog lên đầu. Sau đó, bạn có thể sử dụng các phím mũi tên để cuộn xuống một dòng mỗi lần, phím Space để cuộn xuống một trang mỗi lần hoặc bánh xe chuột để dễ dàng cuộn qua tệp.
Vấn đề duy nhất của phương pháp này là syslog có thể trở nên khá lớn; và, xem xét điều bạn đang tìm kiếm có lẽ sẽ ở hoặc gần dưới đáy, bạn có thể không muốn dành thời gian cuộn từng dòng hoặc từng trang để đến cuối. Khi syslog mở trong lệnh less, bạn cũng có thể nhấn phím [Shift]+[g] để ngay lập tức đến cuối tệp log. Cuối cùng sẽ được đánh dấu bằng (END). Sau đó, bạn có thể cuộn lên bằng các phím mũi tên hoặc bánh xe cuộn để tìm chính xác điều bạn muốn.
Điều này, tất nhiên, không hiệu quả lắm.
Xem Log Linux với dmesg
Lệnh dmesg in ra bộ đệm vòng của kernel. Theo mặc định, lệnh sẽ hiển thị tất cả các thông báo từ bộ đệm vòng của kernel. Từ cửa sổ terminal, nhập lệnh dmesg và toàn bộ bộ đệm vòng của kernel sẽ được in ra ( Hình 2: Một ổ đĩa ngoại vi USB hiển thị một vấn đề có thể cần được khám phá.)
May mắn thay, có một cơ chế kiểm soát tích hợp cho phép bạn in ra chỉ một số cơ sở nhất định (như daemon).
Giả sử bạn muốn xem các mục log cho cơ sở người dùng. Để làm điều này, nhập lệnh dmesg --facility=user
. Nếu có bất kỳ điều gì được ghi vào cơ sở đó, nó sẽ in ra.
Khác với lệnh less, việc nhập lệnh dmesg sẽ hiển thị toàn bộ nội dung của log và đưa bạn đến cuối tệp. Bạn có thể luôn sử dụng bánh xe cuộn của mình để duyệt qua bộ đệm của cửa sổ terminal của bạn (nếu có thể). Thay vào đó, bạn sẽ muốn chuyển đầu ra của dmesg sang lệnh less như sau:
dmesg | less
Lệnh trên sẽ in ra nội dung của dmesg và cho phép bạn cuộn qua đầu ra giống như khi xem một tệp log tiêu chuẩn bằng lệnh less.
Xem Log Linux với tail
Lệnh tail có lẽ là một trong những công cụ thuận tiện nhất mà bạn có để xem tệp log. Tail thực hiện việc xuất ra phần cuối của các tệp. Vì vậy, nếu bạn nhập lệnh tail /var/log/syslog, nó sẽ in ra chỉ những dòng cuối cùng của tệp syslog.
Nhưng đợi chút, vui vẻ không kết thúc ở đó. Lệnh tail có một mẹo rất quan trọng thông qua tùy chọn -f. Khi bạn nhập lệnh tail -f /var/log/syslog, tail sẽ tiếp tục theo dõi tệp log và in ra dòng tiếp theo được viết vào tệp. Điều này có nghĩa là bạn có thể theo dõi những gì được ghi vào syslog ngay khi nó xảy ra, trong cửa sổ terminal của bạn (Hình 3: Theo dõi /var/log/syslog bằng lệnh tail.)
Sử dụng tail theo cách này rất quý giá để khắc phục sự cố.
Để thoát khỏi lệnh tail
(khi đang theo dõi một tệp), nhấn tổ hợp [Ctrl]+[x]
.
Bạn cũng có thể chỉ định cho tail theo dõi chỉ một số lượng dòng cụ thể. Giả sử bạn chỉ muốn xem năm dòng cuối cùng được viết vào syslog; để làm điều này, bạn có thể nhập lệnh:
tail -f -n 5 /var/log/syslog
Lệnh trên sẽ theo dõi đầu vào vào syslog và chỉ in ra năm dòng gần đây nhất. Ngay khi một dòng mới được viết vào syslog, nó sẽ loại bỏ dòng cũ nhất từ đầu. Điều này là một cách tuyệt vời để làm cho quá trình theo dõi một tệp log trở nên dễ dàng hơn. Tôi mạnh mẽ khuyến nghị không sử dụng điều này để xem bất cứ điều gì ít hơn bốn hoặc năm dòng, vì bạn sẽ cuối cùng bị cắt đứt đầu vào và không nhận được đầy đủ thông tin của mục nhập.
Còn nhiều công cụ khác
Bạn sẽ tìm thấy rất nhiều lệnh khác (và thậm chí là một vài công cụ GUI khá tốt) để xem tệp logllinux. Hãy tìm kiếm lệnh more, grep, head, cat, multitail và System log viewer để giúp bạn trong hành trình khắc phục sự cố hệ thống thông qua các tệp log.
Tổng hợp lại, khả năng xem file Log Linux trực tiếp từ dòng lệnh trên VPS là một kỹ năng quan trọng đối với SysAdmin, giúp họ nhanh chóng định vị vấn đề, theo dõi sự kiện hệ thống và thậm chí dự đoán các vấn đề tiềm ẩn. Việc này không chỉ nâng cao hiệu suất quản trị hệ thống mà còn đảm bảo tính ổn định và bảo mật của môi trường VPS. Hãy tiếp tục phát triển kỹ năng này để trở thành một SysAdmin hiệu quả trong việc duy trì và quản lý hệ thống Linux của bạn.
Mọi người cùng tìm kiếm: file log